package lab03;

import java.io.*;

public class Test03 {
    public static void main(String[] args) throws IOException {
        File fe=new File("E:\\test.txt");

        if (!fe.exists()) {    //检测test.txt是否存在

                fe.createNewFile();
        }

        //将文本存入字节数组

        byte [] b="beijing 欢迎你".getBytes();
       FileOutputStream out=new FileOutputStream(fe);
       out.write(b);   //写入字节数组。在实际写入字节前将处于阻塞状态。
       out.close();

//       FileInputStream in=new FileInputStream(fe);  //字节流读中文文本发生乱码

        FileReader in=new FileReader(fe);

        int i=0;
       //in.read(b);

        while((i=in.read())!=-1){

            System.out.print((char)i);
        }

        System.out.println();
        /**
         * public FileWriter(String fileName, boolean append) throws IOException
         * 根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
         * 参数：fileName - 一个字符串，表示与系统有关的文件名。
         * append - 一个 boolean 值，如果为 true，则将数据写入文件末尾处，而不是写入文件开始处。
         * 抛出：IOException - 如果指定文件存在，但它是一个目录，而不是一个常规文件；
         * 或者该文件不存在，但无法创建它；
         * 抑或因为其他某些原因而无法打开它
         *
         */

        FileWriter writer=new FileWriter("E://test.txt",true);
        writer.write("我的学号是：1606101026");
        writer.close();


        FileReader fileReader=new FileReader(fe);

        int j=0;
        while((j=fileReader.read())!=-1){

            System.out.print((char)j);
        }








        /*  ps.println("beijing 欢迎你！");

        OutputStreamWriter将输出的字符流变为字节流，即将一个字符流的输出对象变为字节流输出对象。
        * InputStreamReader 将字节流转换为字符流。是字节流通向字符流的桥梁
        *
        //OutputStreamWriter writer=new OutputStreamWriter(ps);

        ps.append("我的学号是：1606101026");   //在文件末尾追加内容
        ps.close();

        BufferedReader br=new BufferedReader(new FileReader(fe));

        String s=br.readLine();


        while(s!=null){
            System.out.println(s);
        }
        br.close();


*/
    }



}
